Students' Understanding of Advanced Properties of Java Exceptions
نویسندگان
چکیده
This study examines how Information Systems Engineering School students on the verge of their graduation understand the mechanism of exception handling. The main contributions of this paper are as follows: we construct a questionnaire aimed at examining students' level of understanding concerning exceptions; we classify and analyse the students' responses to the questionnaire in order to determine their level of understanding of the mechanism; and we discuss the students' reflections concerning exceptions. The students were required to demonstrate their understanding of various aspects of Java exception handling: exception throwing and catching, fluency of code in the presence of exceptions, multiple catch clauses, common and different reactions to the various exceptions, passing an exception up the calling chain, proper use of the exception hierarchy, re-throwing an exception, and overriding a method which throws exceptions. The results obtained reveal that almost all the participants understood the basics of throwing and catching an exception, but only a few demonstrated the highest level of understanding of the exception mechanism. As the level of understanding required to address the questionnaire problems increased, the number of study participants who were able to answer correctly decreased substantially. In fact, most of the study participants were not familiar with all the possibilities encompassed by the exception mechanism and so were not able to use them properly. The students’ reflections were classified into the following categories: perceptions concerning the benefits of using exceptions; perceptions concerning the complexity of the exception mechanism; and issues concerning the development environment. According to the results obtained we recommend several modifications to the curriculum with the aim of improving the students' ability to properly utilize the advanced properties of exceptions to produce higher quality software.
منابع مشابه
Visually assisted learning in multivariable calculus: the cases of continuity and differentiability
The objective of this article is to investigate the effects in learning advanced mathematics concepts by means of visual representation. Continuity and differentiability are the subject matters. Two Java modules are developed to yield the learning environment that provides opportunities for students to manipulate the mathematics materials represented in visual fashion. The teaching experiment m...
متن کاملData Leakage in Java Applets with Exception Mechanism
It is becoming more and more important to study methods for protecting sensitive data in computer and communication systems from unauthorized access, use, modification, destruction or deletion. Sensitive data include intellectual properties, payment information, personal files, personal credit card and other information depending on the business and the industry. Therefore, data leakage is cons...
متن کاملProbabilistic Model Checking with Java PathFinder?
On the one hand, probabilistic model checkers such as PRISM [1] have been successfully employed to verify models of probabilistic systems. However, they are not suitable for checking properties such as uncaught exceptions of the actual code of the system. On the other hand, model checkers such as Java PathFinder (JPF) [2] have been used with success to verify actual code of systems. However, th...
متن کاملStudents working with a Large Software System: Experiences and Understandings
This monograph describes an empirical study with the overall aim of producing insights about how students experience the subject Computer Science and its learning environments, particularly programming and software engineering. The research takes a start in the students’ world, from their perspective, using their stories, and hence, we have chosen a phenomenographic approach for our research. B...
متن کاملDefinition and Space of Agent Exceptions
The usual understanding of exceptions in Software Engineering pertains to the many handling systems in high-level languages such as Java or LISP. On execution of a program, an invoker calls an operation that returns an exception signal on occurrence of abnormal conditions for this run [2]. The program flow is reversed along the procedure call in search for an exception handler (the code block f...
متن کامل